Modern server machines are capable of having multiple servers installed in them and the servers may all couple to a disk array. A disk array consists of several partitions with individual logical unit numbers (LUN) for the servers to perform data access with. The presence of the partitions is detectable to all servers so that the servers can share the data stored in the disk array. No priorities for access are set to avoid errors when the servers perform data access. Thus when any two servers try to access the same partition at the same time, the partition can not determine the priority between those servers, causing conflict in the partition and rendering accessed data invalid or lost.
To prevent the above-mentioned conflict situation while allowing accessibility to any one of the partitions in the disk array, the servers are coupled through an Ethernet network. At least one partition is assigned to a server and the server can only access its own partition(s). If a data access with a partition other than the ones assigned to the server, then a request must be made to the server that owns the partition to perform such data access. For example, when a first server tries to access data in a partition assigned to a second server, the first sever must convert accessing information (including location of the first server, IP address, path to the partition, access link and check sum) to multiple packets in the Ethernet protocol and transmit the packets to the second server. After receiving all the packets, the second server disassembles and analyzes those packets to acquire the information of the target partition and perform data access with that partition accordingly. The accessed data is then converted into multiple packets in the Ethernet protocol and transmitted back to the first server.
However, to share the data in said partition, not only does the communication between the two servers require conversions of information into packets complying with the network protocol, it also relies on the Ethernet network as the media. This type of design increases the complexity among the connections of the servers and the possibility of errors occurring during data access with non-assigned partitions. Furthermore, program developers for such a server machine must first set up the communication protocol. This introduces a higher cost, more time and effort in product development and could ultimately lead to a loss of its competitive edge on the market. Consequently, it is imperative for a server machine manufactures to have a system and method for sharing storage device among controllers that speeds up the sharing of the data in the storage device while sparing the complicated communication procedure.